﻿// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "AuraGameplayAbility.h"
#include "DamageGameplayAbility.generated.h"

/**
 * 伤害类型能力的基类
 */
UCLASS()
class AURA_API UDamageGameplayAbility : public UAuraGameplayAbility
{
	GENERATED_BODY()

public:

	/** 伤害效果类 */
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="DamageGameplayAbility|Damage")
	TSubclassOf<UGameplayEffect> DamageEffectClass;
	
	/** 伤害类型标签到伤害值的映射 */
	UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category="DamageGameplayAbility|Damage")
	TMap<FGameplayTag,FScalableFloat> DamageTypeToDamage;

	UFUNCTION(BlueprintCallable)
	void CauseDamage(AActor* TargetActor);
};
